package com.ruoyi.system.mapper;

import com.ruoyi.common.entity.VO.DistrictVO;
import com.ruoyi.system.domain.Districts;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 地区 数据层
 */
public interface IBackDistrictsMapper {

    /**
     * 查询地区信息
     *
     * @param id 地区ID
     * @return 地区信息
     */
    Districts selectDistrictsById(Integer id);

    /**
     * 查询地区列表
     *
     * @param districts 地区信息
     * @return 地区集合
     */
    List<Districts> selectDistrictsList(Districts districts);

    /**
     * 新增地区
     *
     * @param districts 地区信息
     * @return 结果
     */
    int insertDistricts(Districts districts);

    /**
     * 修改地区
     *
     * @param districts 地区信息
     * @return 结果
     */
    int updateDistricts(Districts districts);

    /**
     * 删除地区
     *
     * @param id 地区ID
     * @return 结果
     */
    int deleteDistrictsById(Integer id);

    /**
     * 批量删除地区
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteDistrictsByIds(String[] ids);

    @Select("SELECT id,ext_name extName FROM districts WHERE  pid = #{parentId} ")
    List<DistrictVO> listDistrictsByParentId(Long parentId);

    @Select("SELECT ext_name FROM districts WHERE id=#{id} ")
    String getDistrictsNameById(Long id);

//    @Select("SELECT ext_name FROM districts WHERE id IN (#{ids}) ")
    List<String> selectDistrictsNameByIds(@Param("ids") String ids);
}